package object.package1;

public class Test5 <T>{
    public static void main(String[] args) {
//        Test5<Integer> t1 = new Test5<Integer>();
//        //报红就不能实例化，因为泛型参数不匹配
//        t1= new Test5<String>();
//        //这个情况就是不挑食，无论泛型参数是什么，都可以通过t来实例化
//        //此处？就是通配符
//        Test5<?> t= new Test5<Integer>();
//        t= new Test5<String>();

        //指定了通配符的上界
        //此时t1可以实例化Integer，String，Double等所有Number的子类
        Test5<? extends Number> t1= new Test5<Integer>();

        //错误写法，String类型不是Number的子类，所以编译报错
        //t1 = new Test5<String>();

    }
}
